﻿@using Microsoft.AspNetCore.Authentication;
@{
    ViewData["Title"] = "Home Page";
}


<div class="row">
    <div class="col-md-12">
        <h2>林多加说其他界面登录之后，刷新本页面就可以查看到用户登录信息</h2>
        <ul>
            <li>登录要授权的页面 <a href="~/Home/Secure">这里</a></li>

            <li>主动获取用户信息 <a href="~/home/GetUserInfo">这里</a></li>
        </ul>
    </div>
</div>

<h3>用户信息如下：</h3>

@if (User.Identity.IsAuthenticated)
{
    <h1>Logged in as: @User.Identity.Name</h1>

    <dl>
        @foreach (var claim in User.Claims)
        {
            <dt>@claim.Type</dt>
            <dd>@claim.Value</dd>

        }
        <dt>access token</dt>
        <dd>@await ViewContext.HttpContext.GetTokenAsync("access_token")</dd>
        <dt>Id token</dt>
        <dd>@await ViewContext.HttpContext.GetTokenAsync("id_token")</dd>

        <dt>refresh token</dt>
        <dd>@await ViewContext.HttpContext.GetTokenAsync("refresh_token")</dd>
    </dl>
}

@*放置检测Session的Iframe，应该有回调方法的，目前还没有找到*@
<iframe style="display:none" src="@(new IdentityModel.Client.DiscoveryClient("https://qasso.avischina.cn").GetAsync().Result.CheckSessionIframe)"></iframe>
@if (!User.Identity.IsAuthenticated)
{
    @*放置获取用户信息的Iframe，需要判断当前是否登录了才需要执行，同时需要在后台返回用户信息并更新到父窗口的用户名*@
    <iframe style="display:none" src="/home/Secure"></iframe>
    <iframe style="display:none" src="/home/GetUserInfo"></iframe>
}